'\" te
.\" Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH MKFS_PCFS 8 "Dec 1, 2003"
.SH NAME
mkfs_pcfs \- construct a FAT file system
.SH SYNOPSIS
.LP
.nf
\fBmkfs\fR \fB-F\fR pcfs [\fIgeneric_options\fR] [\fB-o\fR \fIFSType_specific_options\fR] \fIraw_device_file\fR
.fi

.SH DESCRIPTION
.sp
.LP
The \fBpcfs\fR-specific module of \fBmkfs\fR constructs a File Allocation Table
(\fBFAT\fR) on removable media (diskette, JAZ disk, ZIP disk, PCMCIA card), a
hard disk, or a file (see NOTES). \fBFAT\fRs are the standard \fBMS-DOS\fR and
Windows file system format. Note that you can use \fBfdformat\fR(1) to
construct a FAT file system only on a diskette or PCMCIA card.
.sp
.LP
\fBmkfs\fR for \fBpcfs\fR determines an appropriate \fBFAT\fR size for the
medium, then it installs an initial boot sector and an empty \fBFAT\fR. A
sector size of 512 bytes is used. \fBmkfs\fR for \fBpcfs\fR can also install
the initial file in the file system (see the \fBpcfs\fR-specific \fB-o i\fR
option). This first file can optionally be marked as read-only, system, and/or
hidden.
.sp
.LP
If you want to construct a FAT with \fBmkfs\fR for \fBpcfs\fR on a medium that
is not formatted, you must first perform a low-level format on the medium with
\fBfdformat\fR(1) or \fBformat\fR(8). Non-diskette media must also be
partitioned with the \fBfdisk\fR(8) utility. Note that all existing data on
the diskette or disk partition, if any, is destroyed when a new \fBFAT\fR is
constructed.
.sp
.LP
\fIgeneric_options\fR are supported by the generic \fBmkfs\fR command. See
\fBmkfs\fR(8) for a description of these options.
.sp
.LP
\fIraw_device_file\fR indicates the device on which to write unless the \fB-o
N\fR option has been specified, or if the \fB-V\fR or \fB-m\fR generic options
are passed from the generic \fBmkfs\fR module.
.SH OPTIONS
.sp
.LP
See \fBmkfs\fR(8) for the list of supported generic options.
.sp
.LP
The following options are supported:
.sp
.ne 2
.na
\fB\fB-o\fR \fIFSType_specific_options\fR\fR
.ad
.RS 30n
Specify \fBpcfs\fR file system-specific options in a comma-separated list with
no intervening spaces. If invalid options are specified, a warning message is
printed and the invalid options are ignored.
.sp
.ne 2
.na
\fBb=\fIlabel\fR\fR
.ad
.RS 14n
Label the media with volume label. The volume label is restricted to 11
uppercase characters.
.RE

.sp
.ne 2
.na
\fBB=\fIfilename\fR\fR
.ad
.RS 14n
Install \fIfilename\fR as the boot loader in the file system's boot sector. If
you don't specify a boot loader, an \fBMS-DOS\fR boot loader is installed. The
\fBMS-DOS\fR boot loader requires specific \fBMS-DOS\fR system files to make
the diskette bootable. See \fBNOTES\fR for more information.
.RE

.sp
.ne 2
.na
\fBfat=\fIn\fR\fR
.ad
.RS 14n
The size of a \fBFAT\fR entry. Currently, 12, 16, and 32 are valid values. The
default is 12 for diskettes, 16 for larger media.
.RE

.sp
.ne 2
.na
\fBh\fR
.ad
.RS 14n
Mark the first file installed as a hidden file. The \fB-i\fR option must also
be specified.
.RE

.sp
.ne 2
.na
\fBhidden=\fIn\fR\fR
.ad
.RS 14n
Set the number of hidden sectors to \fIn\fR. This is the number of sectors on
the physical disk preceding the start of the volume (which is the boot sector
itself). This defaults to 0 for diskettes or a computed valued (based on the
fdisk table) for disks. This option may be used only in conjunction with the
\fBnofdisk\fR option.
.RE

.sp
.ne 2
.na
\fBi=\fIfilename\fR\fR
.ad
.RS 14n
Install \fIfilename\fR as the initial file in the new file system. The initial
file's contents are guaranteed to occupy consecutive clusters at the start of
the files area. When creating bootable media, a boot program should be
specified as the initial file.
.RE

.sp
.ne 2
.na
\fBnofdisk\fR
.ad
.RS 14n
Do not attempt to find an \fBfdisk\fR table on the medium. Instead rely on the
\fBsize\fR option for determining the partition size. By default, the created
\fBFAT\fR is 16 bits and begins at the first sector of the device. This
origination sector can be modified with the hidden option (\fB-h\fR).
.RE

.sp
.ne 2
.na
\fBnsect=\fIn\fR\fR
.ad
.RS 14n
The number of sectors per track on the disk. If not specified, the value is
determined by using a \fBdkio\fR(4I) ioctl to get the disk geometry, or (for
diskette) from the results of an \fBFDIOGCHAR\fR ioctl.
.RE

.sp
.ne 2
.na
\fBntrack=\fIn\fR\fR
.ad
.RS 14n
The number of tracks per cylinder on the disk. If not specified, the value is
determined by using a \fBdkio\fR(4I) ioctl to get the disk geometry, or (for
diskette) from the results of an \fBFDIOGCHAR\fR ioctl.
.RE

.sp
.ne 2
.na
\fBN\fR
.ad
.RS 14n
No execution mode. Print normal output, but do not actually write the file
system to the medium. This is most useful when used in conjunction with the
verbose option.
.RE

.sp
.ne 2
.na
\fBr\fR
.ad
.RS 14n
Mark the first file installed as read-only. The \fB-i\fR option must also be
specified.
.RE

.sp
.ne 2
.na
\fBreserve=\fIn\fR\fR
.ad
.RS 14n
Set the number of reserved sectors to \fIn\fR. This is the number of sectors in
the volume, preceding the start of the first \fBFAT\fR, including the boot
sector. The value should always be at least 1, and the default value is exactly
1.
.RE

.sp
.ne 2
.na
\fBs\fR
.ad
.RS 14n
Mark the first file installed as a system file. The \fB-i\fR option must also
be specified.
.RE

.sp
.ne 2
.na
\fBsize=\fIn\fR\fR
.ad
.RS 14n
The number of sectors in the file system. If not specified, the value is
determined from the size of the partition given in the fdisk table or (for
diskette) by way of computation using the \fBFDIOGCHAR\fR ioctl.
.RE

.sp
.ne 2
.na
\fBspc=\fIn\fR\fR
.ad
.RS 14n
The size of the allocation unit for space within the file system, expressed as
a number of sectors. The default value depends on the \fBFAT\fR entry size and
the size of the file system.
.RE

.sp
.ne 2
.na
\fBv\fR
.ad
.RS 14n
Verbose output. Describe, in detail, operations being performed.
.RE

.RE

.SH FILES
.sp
.ne 2
.na
\fB\fIraw_device_file\fR\fR
.ad
.RS 19n
The device on which to build the \fBFAT\fR. The device name for a diskette must
be specified as \fB/dev/rdiskette0\fR for the first diskette drive, or
\fB/dev/rdiskette1\fR for a second diskette drive. For non-diskette media, a
disk device name must be qualified with a suffix to indicate the proper
partition. For example, in the name \fB/dev/rdsk/c0t0d0p0:c\fR, the \fB:c\fR
suffix indicates that the first partition on the disk should receive the new
\fBFAT\fR.
.sp
For a file, \fIraw_device_file\fR is the block device name returned by
\fBlofiadm\fR(8).
.RE

.SH EXAMPLES
.sp
.LP
The media in these examples must be formatted before running \fBmkfs\fR for
\fBpcfs\fR. See DESCRIPTION for more details.
.LP
\fBExample 1 \fRCreating a FAT File System on a Diskette
.sp
.LP
The following command creates a \fBFAT\fR file system on a diskette:

.sp
.in +2
.nf
mkfs -F pcfs /dev/rdiskette
.fi
.in -2
.sp

.LP
\fBExample 2 \fRCreating a FAT File System on a Disk
.sp
.LP
The following command creates a \fBFAT\fR file system on the second fdisk
partition of a disk attached to an x86 based system:

.sp
.in +2
.nf
mkfs -F pcfs /dev/rdsk/c0d0p0:d
.fi
.in -2
.sp

.LP
\fBExample 3 \fRCreating a FAT File System on a ZIP Disk
.sp
.LP
The following command creates a \fBFAT\fR file system on a ZIP disk located on
a SPARC based system:

.sp
.in +2
.nf
mkfs -F pcfs /dev/rdsk/c0t4d0s2:c
.fi
.in -2
.sp

.LP
\fBExample 4 \fRCreating a FAT File System on a JAZ Disk
.sp
.LP
The following command creates a \fBFAT\fR file system on a JAZ disk located on
a SPARC based system and overrides the sectors/track and tracks/cylinder values
obtained from the device's controller:

.sp
.in +2
.nf
mkfs -F pcfs -o nsect=32,ntrack=64 /dev/rdsk/c0t3d0s2:c
.fi
.in -2
.sp

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Stable
.TE

.SH SEE ALSO
.sp
.LP
.BR fdformat (1),
.BR fd (4D),
.BR dkio (4I),
.BR fdio (4I),
.BR attributes (7),
.BR fdisk (8),
.BR format (8),
.BR lofiadm (8),
.BR mkfs (8)
.SH NOTES
.sp
.LP
The default \fBMS-DOS\fR boot loader, which is installed by default if \fB-o
B\fR is not specified, requires specific \fBMS-DOS\fR system files to make the
diskette bootable. These \fBMS-DOS\fR files are not installed when you format a
diskette with \fBmkfs\fR for \fBpcfs\fR, which makes a diskette formatted this
way not bootable. Trying to boot from it on an x86 based system will result in
the following message:
.sp
.in +2
.nf
Non-System disk or disk error
Replace and strike any key when ready
.fi
.in -2
.sp

.sp
.LP
You must format a diskette with the \fBDOS\fR \fBformat\fR command to install
the specific \fBMS-DOS\fR system files required by the default boot loader.
.sp
.LP
You can use \fBlofiadm\fR to create a file that appears to a \fBmkfs\fR command
(for example, \fBmkfs_pcfs\fR or \fBmkfs_ufs\fR) as a raw device. You can then
use a \fBmkfs\fR command to create a file system on that device. See
\fBlofiadm\fR(8) for examples of creating a UFS and a PC (FAT) file system on
a device created by \fBlofiadm\fR.
